[−][src]Crate actix_web_codegen
Macros for reducing boilerplate code in Actix Web applications.
Actix Web Re-exports
Actix Web re-exports a version of this crate in it's entirety so you usually don't have to specify a dependency on this crate explicitly. Sometimes, however, updates are made to this crate before the actix-web dependency is updated. Therefore, code examples here will show explicit imports. Check the latest actix-web attributes docs to see which macros are re-exported.
Runtime Setup
Used for setting up the actix async runtime. See main macro docs.
#[actix_web_codegen::main] // or `#[actix_web::main]` in Actix Web apps async fn main() { async { println!("Hello world"); }.await }
Single Method Handler
There is a macro to set up a handler for each of the most common HTTP methods that also define additional guards and route-specific middleware.
See docs for: GET, POST, PATCH, PUT, DELETE, HEAD, CONNECT, OPTIONS, TRACE
#[get("/test")] async fn get_handler() -> HttpResponse { HttpResponse::Ok().finish() }
Multiple Method Handlers
Similar to the single method handler macro but takes one or more arguments for the HTTP methods it should respond to. See route macro docs.
#[route("/test", method="GET", method="HEAD")] async fn get_and_head_handler() -> HttpResponse { HttpResponse::Ok().finish() }
Attribute Macros
connect | Creates route handler with |
delete | Creates route handler with |
get | Creates route handler with |
head | Creates route handler with |
main | Marks async main function as the actix system entry-point. |
options | Creates route handler with |
patch | Creates route handler with |
post | Creates route handler with |
put | Creates route handler with |
route | Creates resource handler, allowing multiple HTTP method guards. |
trace | Creates route handler with |